🎉 linksfor.dev(s)

6,735 total entries

An x86 Assembler in 256 LOC

For the first “real” post in this blog, we’ll build an x86 assembler in less than 256 lines of C code. Obviously, it won’t implement every x86 instruction, but it will implement a surprisingly useful subset: data movement, control flow, integer arithmetic, bitwise operations, and function calls. We won’t be able to run the generated machine code yet (that’s coming in a later blog post), but we’ll be in a good position to do so.

Rendering Particles with Compute Shaders

I developed a technique to render single-pixel particles (using additive blending) with compute shaders rather than the usual fixed-function rasterization with vertex and fragment shaders. My approach runs 25-335% faster than rasterization on the cases I tested and is particularly faster for some “pathological” cases (which for my application are not actually that uncommon). I observed these speedups on both NVIDIA and AMD GPUs.

Designing a build system for .NET solutions with Cake - 2: The Cake build tool and convention-based builds

ContentsThis is the second issue in a series around designing a build system for .NET projects The build submodule & Versioning dependenciesBuild, test and pack .NET projects by convention using CakeBuild and pack .NET applications ready for deploymentIntroducing build configuration options and smart defaultsVersioning strategy using GitVersion and auto-tagging from

How symmetric password-authenticated key exchanges work (sPAKE)

have you heard of sPAKE (or bPAKE)? a sPAKE is first and foremost a PAKE, which stands for Password-Authenticated Key Exchange. This simply means that authentication in the key exchange is provided via the knowledge of a password. The s (resp. b) in front means symmetric (resp. balanced). This indicates that both sides know the password. Other PAKEs where only one side knows the password exist, t ...

WebAppML

: Home

Milton